/*package com.yaoben.exam.controller;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Random;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;

import com.yaoben.exam.pojo.Subject;
import com.yaoben.exam.service.SubjectService;

@Controller
public class SubjectController {

	@Autowired
	private SubjectService subjectService;

	// 选择选择题
	public List<Subject> choiceQuestion() {
		// 从数据库选出选择题
		List<Subject> subjects = subjectService.getSubjectByQuetypeid(1);
		// 存储选出的选择题的数组
		List<Subject> subjectsExam = new ArrayList<>();
		// 选出需要的选择题的数量
		ArrayList<Integer> choiceNum = makeRandom(20, subjects.size());
		// 遍历choiceNum
		Iterator<Integer> iterator = choiceNum.iterator();
		while (iterator.hasNext()) {
			// 获取choiceNum的值
			int num = iterator.next().intValue();
			// 将获取到的题目加入到subjectsExam中
			subjectsExam.add(subjects.get(num));
		}
		return subjectsExam;
	}

	// 选择判断题
	public List<Subject> booleanQuestion() {
		// 从数据库选出判断题
		List<Subject> subjects = subjectService.getSubjectByQuetypeid(2);
		// 存储选出的判断题的数组
		List<Subject> subjectsExam = new ArrayList<>();
		// 选出需要的判断题的数量
		ArrayList<Integer> booleanNum = makeRandom(10, subjects.size());
		// 遍历booleanNum
		Iterator<Integer> iterator = booleanNum.iterator();
		while (iterator.hasNext()) {
			// 获取booleanNum的值
			int num = iterator.next().intValue();
			// 将获取到的题目加入到subjectsExam中
			subjectsExam.add(subjects.get(num));
		}
		return subjectsExam;
	}

	// 选择简答题
	public List<Subject> shortAnswerQuestion() {
		// 从数据库选出简答题
		List<Subject> subjects = subjectService.getSubjectByQuetypeid(3);
		// 存储选出的简答题的数组
		List<Subject> subjectsExam = new ArrayList<>();
		// 选出需要的简答题的数量
		ArrayList<Integer> shortAnswerNum = makeRandom(2, subjects.size());
		// 遍历shortAnswerNum
		Iterator<Integer> iterator = shortAnswerNum.iterator();
		while (iterator.hasNext()) {
			// 获取shortAnswerNum的值
			int num = iterator.next().intValue();
			// 将获取到的题目加入到subjectsExam中
			subjectsExam.add(subjects.get(num));
		}
		return subjectsExam;
	}

	// 选择编程题
	public List<Subject> programQuestion() {
		// 从数据库选出编程题
		List<Subject> subjects = subjectService.getSubjectByQuetypeid(4);
		// 存储选出的编程题的数组
		List<Subject> subjectsExam = new ArrayList<>();
		// 选出需要的编程题的数量
		ArrayList<Integer> programQuestionNum = makeRandom(1, subjects.size());
		// 遍历programQuestionNum
		Iterator<Integer> iterator = programQuestionNum.iterator();
		while (iterator.hasNext()) {
			// 获取programQuestionNum的值
			int num = iterator.next().intValue();
			// 将获取到的题目加入到subjectsExam中
			subjectsExam.add(subjects.get(num));
		}
		return subjectsExam;
	}
	
	// 得到试卷
	public List<Subject> getTestPaper() {
		// 试卷
		List<Subject> testPaper = new ArrayList<>();
		// 选择题
		List<Subject> choiceQuestion = choiceQuestion();
		// 判断题
		List<Subject> booleanQuestion = booleanQuestion();
		// 简答题
		List<Subject> shortAnswerQuestion = shortAnswerQuestion();
		// 编程题
		List<Subject> programQuestion = programQuestion();
		// 将得到的题目加入到试卷中
		testPaper.addAll(choiceQuestion);
		testPaper.addAll(booleanQuestion);
		testPaper.addAll(shortAnswerQuestion);
		testPaper.addAll(programQuestion);
		
		return testPaper;
	}

	// 从num个数中随机选出n个不同的数
	public ArrayList<Integer> makeRandom(int n, int num) {
		// 创建一个数组
		ArrayList<Integer> arrayList = new ArrayList<>();
		int index = 0;
		// 往数组里逐一添加取到的不重复的元素
		while (index < n) {
			// 产生随机数
			Random random = new Random();
			int temp = random.nextInt(num);
			// 设置是否重复的标记变量为false
			boolean flag = false;
			for (int i = 0; i < index; i++) {
				if (temp == arrayList.get(i)) {
					flag = true;
					break;
				}
			}
			if (flag == false) {
				arrayList.add(temp);
				index++;
			}
		}
		return arrayList;
	}

}
*/